package com.yidu.t286.biz.impl;
/*
 * @description: 用户表业务层接口实现类
 * @author:文杰
 * @date  :2021/7/27 0027上午 9:02
 */

import com.yidu.t286.biz.CaruserBiz;
import com.yidu.t286.dao.CaruserDao;
import com.yidu.t286.domain.Caruser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service("/caruserBiz")
public class CaruserBizImpl implements CaruserBiz {

    @Autowired
    private CaruserDao caruserDao;

    /**
     * 向数据库表caruser增加一行数据
     *
     * @param caruser 用户对象
     * @return 影响的行数: 1:添加成功 2:添加失败
     */
    @Override
    public int add(Caruser caruser) {
        return caruserDao.add(caruser);
    }

    /**
     * 根据用户id删除数据
     *
     * @param caruId 用户id
     * @return 影响的行数 1:删除成功 0:删除失败
     */
    @Override
    public int delete(int caruId) {
        return caruserDao.delete(caruId);
    }

    /**
     * 在数据库表caruser修改数据
     *
     * @param caruser 用户对象
     * @return 影响的行数 1:修改成功 0:修改失败
     */
    @Override
    public int update(Caruser caruser) {
        return caruserDao.update(caruser);
    }

    /**
     * 从数据库表caruser查询所有数据
     *
     * @return 用户对象
     */
    @Override
    public List<Caruser> findAll() {
        return caruserDao.findAll();
    }

    /**
     * 按条件分页查询
     *
     * @param rows      每页的行数
     * @param pages     开始的页数
     * @param condition 条件字符串
     * @return 用户对象集合
     */
    @Override
    public List<Caruser> findByPage(int rows, int pages, String condition) {
        int start=(pages-1)*rows;
        return caruserDao.findByPage(start,rows,condition);
    }

    /**
     * 多条件查询记录数
     *
     * @param condition 条件字符串
     * @return 记录数
     */
    @Override
    public int count(String condition) {
        return caruserDao.count(condition);
    }

    /**
     * 获取条件字符串
     *
     * @param caruser 用户对象
     * @return 条件字符串
     */
    @Override
    public String getCondition(Caruser caruser) {
        //定义查询条件字符串，初值为带空格的字符串(注意后续条件中的空格)
        String condition=" ";
        //如果用户对象为空，则直接返回空字符串
        if(caruser==null){
            return condition;
        }
        //如果用户名称不为空(字符串匹配模糊查询)
        if(caruser.getUserName()!=null && caruser.getUserName().trim().length()!=0){
            condition += " and userName like '%"+caruser.getUserName()+"%' ";
        }
        //返回条件字符串
        return condition;
    }

    @Override
    public int updatetoken(Caruser caruser) {
        return caruserDao.updatetoken(caruser);
    }

}
